﻿//============================================================
//write by bxl at 2021-06-13 22:08:29
//============================================================



using BCCommon;
using BCDto.CRM.BigCustomerGroup;
using BCDto.Sim.Admin.Admin;
using System.Collections.Generic;

namespace BCService.CRM.BigCustomerGroup
{
    public interface IBigCustomerGroupService
    {
        /// <summary>
        /// 添加新大客户组纪录
        /// </summary>
        /// <param name="bigCustomerGroupRequestDto"></param>
        /// <param name="admin"></param>
        /// <returns></returns>
        BigCustomerGroupDto Add(BigCustomerGroupRequestDto bigCustomerGroupRequestDto, AdminDto admin);


        /// <summary>
        /// 删除大客户组记录
        /// </summary>
        /// <param name="bigCustomerGroupId"></param>
        /// <returns></returns>
        void Delete(long bigCustomerGroupId);

        /// <summary>
        /// 获取大客户组记录
        /// </summary>
        /// <param name="bigCustomerGroupId"></param>
        /// <returns></returns>
        BigCustomerGroupDto GetById(long bigCustomerGroupId);

        /// <summary>
        /// 获取大客户组记录 分页
        /// </summary>
        /// <param name="admin"></param>
        /// <param name="bigCustomerGroupName"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        PageableList<BigCustomerGroupDto> GetList(AdminDto admin, string bigCustomerGroupName, int pageIndex, int pageSize);


        /// <summary>
        /// 修改大客户组记录
        /// </summary>
        /// <param name="bigCustomerGroupPutDto"></param>
        /// <param name="admin"></param>
        /// <returns></returns>
        BigCustomerGroupDto Update(BigCustomerGroupPutDto bigCustomerGroupPutDto, AdminDto admin);

        /// <summary>
        /// 获取大客户组列表
        /// </summary>
        /// <param name="admin"></param>
        /// <returns></returns>
        List<BigCustomerGroupDto> GetOnlyList(AdminDto admin);
    }
}